package com.xhwl.centiotdata.pojo.dto.haikang;


import lombok.Builder;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * 访客预约
 *
 * @author pengjunming
 * @description
 * @date 2022/6/9 17:27
 */
@Data
@Accessors(chain = true)
@Builder
public class VisitorInfoHaikangDTO {

    /**
     * 被访人厂商ID
     */
    private String receptionistId;

    /**
     * 预计来访时间
     */
    private String visitStartTime;

    /**
     * 预计离开时间
     */
    private String visitEndTime;

    /**
     * 来访事由，长度为0～128个字符
     */
    private String visitPurpose;

    /**
     * 访客信息列表，最大支持128位访客，
     * 其中最多支持4位访客带人脸信息，如果存在人脸上传失败，则整个预约失败。
     */
    private List<VisitorInfoDTO> visitorInfoList;

    @Data
    public static class VisitorInfoDTO {
        /**
         * 访客姓名，长度不超过32，支持中英文字符，不能包含 ’ / \ : * ? " < >
         */
        private String visitorName;
        /**
         * 联系电话，建议填写手机号码，仅支持纯数字
         */
        private String phoneNo;
        /**
         * 车牌号，不能包含 ’ / \ : * ? " < >
         */
        private String plateNo;
        /**
         * 国家
         */
        private Integer nation;
        /**
         * 证件地，支持1-128位字母、汉字
         */
        private String certAddr;
        /**
         * 发证机关，支持1-32位字母、汉字
         */
        private String certIssuer;
        /**
         * 籍贯，支持1-32位字母、汉字
         */
        private String birthplace;
        /**
         * 头像base64编码的字节流，图片最大200K，仅支持jpg格式
         */
        private String visitorPhoto;
        /**
         * 访客住址，支持1-128位中英文数字
         */
        private String visitorAddress;
        /**
         * 来访单位，支持1-32位字符
         */
        private String visitorWorkUnit;
        /**
         * 证件号码，1~20个数字、字母组成；
         * 证件号码非空时，证件类型必填；
         */
        private String certificateNo;
        /**
         * 证件类型
         * 111	身份证
         * 414	护照
         * 113	户口簿
         * 335	驾驶证
         * 131	工作证
         * 133	学生证
         * 990	其他
         */
        private Integer certificateType;
        /**
         * 性别
         * 1：男
         * 2：女
         */
        private Integer gender;

    }

}


